--- panda.py~	2013-09-11 23:01:06.715664263 +0200
+++ panda.py	2013-09-11 23:39:47.000000000 +0200
@@ -48,6 +48,11 @@
                                          "module-nvidia173-userspace",
                                          "xorg-video-nvidia173",
                                          "nvidia-xconfig",
+                                         "nvidia-settings"],
+                           "nvidia304": ["module-nvidia304",
+                                         "module-nvidia304-userspace",
+                                         "xorg-video-nvidia304",
+                                         "nvidia-xconfig",
                                          "nvidia-settings"]}
 
     def __get_primary_driver(self):
@@ -120,7 +125,7 @@
         if self.driver_name == "fglrx":
             self.os_driver = "radeon"
             return self.os_driver
-        elif self.driver_name in ["nvidia-current", "nvidia96", "nvidia173"]:
+        elif self.driver_name in ["nvidia-current", "nvidia96", "nvidia173", "nvidia304"]:
             self.os_driver = "nouveau"
             return self.os_driver
         else:
@@ -169,10 +174,10 @@
         status, modified = self.update_grub_default_entries(arg)
         if status in ["os", "generic", "vendor"] and modified:
             self.update_grub_cfg()
-            self.set_libGL(self.driver_name if self.driver_name in ["nvidia-current", "nvidia96", "nvidia173", "fglrx"] and status == "vendor" else "mesa")
-            if self.driver_name in ["nvidia-current", "nvidia96", "nvidia173"] and status == "vendor":
+            self.set_libGL(self.driver_name if self.driver_name in ["nvidia-current", "nvidia96", "nvidia173", "nvidia304", "fglrx"] and status == "vendor" else "mesa")
+            if self.driver_name in ["nvidia-current", "nvidia96", "nvidia173", "nvidia304"] and status == "vendor":
                 open(nvidia_blacklist_file, "w").write("blacklist nouveau\n")
-            elif self.driver_name in ["nvidia-current", "nvidia96", "nvidia173"] and os.path.isfile(nvidia_blacklist_file):
+            elif self.driver_name in ["nvidia-current", "nvidia96", "nvidia173", "nvidia304"] and os.path.isfile(nvidia_blacklist_file):
                 os.remove(nvidia_blacklist_file)
                 
 
@@ -221,7 +226,7 @@
         if self.driver_name is None:
             self.__get_primary_driver()
 
-        if self.driver_name in "fglrx" or self.driver_name in ["nvidia-current", "nvidia96", "nvidia173"]:
+        if self.driver_name in "fglrx" or self.driver_name in ["nvidia-current", "nvidia96", "nvidia173", "nvidia304"]:
             return ["vendor", "os", "generic"]
         elif "Not defined" == self.driver_name:
             return ["os", "generic"]
